package com.myKng.shareservice.dto;

import com.myKng.shareservice.model.AccessType;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 分享链接响应DTO
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ShareLinkResponse {

    /**
     * 分享链接ID
     */
    private Long id;

    /**
     * 分享码
     */
    private String shareCode;

    /**
     * 分享URL
     */
    private String shareUrl;

    /**
     * 分享的内容ID
     */
    private Long contentId;

    /**
     * 分享的内容类型
     */
    private String contentType;

    /**
     * 分享的创建者ID
     */
    private Long creatorId;

    /**
     * 分享的标题
     */
    private String title;

    /**
     * 分享的描述
     */
    private String description;

    /**
     * 访问类型
     */
    private AccessType accessType;

    /**
     * 是否需要密码
     */
    private boolean passwordRequired;

    /**
     * 过期时间
     */
    private LocalDateTime expiryTime;

    /**
     * 访问次数
     */
    private Integer accessCount;

    /**
     * 最大访问次数限制
     */
    private Integer maxAccessCount;

    /**
     * 创建时间
     */
    private LocalDateTime createdAt;

    /**
     * 更新时间
     */
    private LocalDateTime updatedAt;

    /**
     * 是否启用
     */
    private Boolean enabled;

    /**
     * 是否已过期
     */
    private Boolean expired;
}